package cn.tedu.spotms.server.mapper;
import cn.tedu.spotms.server.pojo.dto.SightDTO;
import cn.tedu.spotms.server.pojo.entity.Sight;
import cn.tedu.spotms.server.pojo.vo.SightSimpleVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/*
    处理景点管理的持久层接口
 */
@Repository
public interface SightMapper {
    /**
     * 添加新的景点
     * @param sight 景点信息
     * @return 受影响行数
     */
    int addSight(Sight sight);

    /**
     * 根据id删除经典
     * @param id
     * @return
     */

    int deleteSightById(Integer id);

    /**
     * 根据管理员输入标题查询数据库中对应景点简单信息
     * @param title 景点标题
     * @return 景点简单信息
     */
    SightSimpleVO getByTitle(String title);

    /**
     * 修改景区简单信息
     * @param sightDTO
     * @return 修改的行数
     */
    int updateSightInfo(SightDTO sightDTO);

    /**
     * 根据id变更景区修改时间
     * @param id
     * @return
     */
    int updateGmtModifiedById(@Param("id") Integer id, @Param("now") LocalDateTime now);

    /**
     * 根据id查询数据库中景点简单信息
     * @param id
     * @return
     */
    SightSimpleVO getInfoById(Integer id);

    /**
     *获取景点列表
     * @param
     * @return
     */
    List<SightSimpleVO> listAllInfo();


}
